﻿using Renci.Data.Interop.OpenGIS.Swe_101;
using Renci.Data.Interop.OpenGIS.Xlink;

namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    [System.Xml.Serialization.XmlRootAttribute("dictionaryEntry", Namespace = "http://www.opengis.net/gml", IsNullable = false)]
    public class DictionaryEntryType : IAssociationAttributeGroup
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("ConcatenatedOperation", Type = typeof(ConcatenatedOperationType))]
        [System.Xml.Serialization.XmlElementAttribute("PassThroughOperation", Type = typeof(PassThroughOperationType))]
        [System.Xml.Serialization.XmlElementAttribute("Conversion", Type = typeof(ConversionType))]
        [System.Xml.Serialization.XmlElementAttribute("Transformation", Type = typeof(TransformationType))]
        [System.Xml.Serialization.XmlElementAttribute("OperationMethod", Type = typeof(OperationMethodType))]
        [System.Xml.Serialization.XmlElementAttribute("OperationParameter", Type = typeof(OperationParameterType))]
        [System.Xml.Serialization.XmlElementAttribute("OperationParameterGroup", Type = typeof(OperationParameterGroupType))]
        [System.Xml.Serialization.XmlElementAttribute("CoordinateSystemAxis", Type = typeof(CoordinateSystemAxisType))]
        [System.Xml.Serialization.XmlElementAttribute("ObliqueCartesianCS", Type = typeof(ObliqueCartesianCsType))]
        [System.Xml.Serialization.XmlElementAttribute("CylindricalCS", Type = typeof(CylindricalCsType))]
        [System.Xml.Serialization.XmlElementAttribute("PolarCS", Type = typeof(PolarCsType))]
        [System.Xml.Serialization.XmlElementAttribute("SphericalCS", Type = typeof(SphericalCsType))]
        [System.Xml.Serialization.XmlElementAttribute("UserDefinedCS", Type = typeof(UserDefinedCsType))]
        [System.Xml.Serialization.XmlElementAttribute("LinearCS", Type = typeof(LinearCsType))]
        [System.Xml.Serialization.XmlElementAttribute("TemporalCS", Type = typeof(TemporalCsType))]
        [System.Xml.Serialization.XmlElementAttribute("VerticalCS", Type = typeof(VerticalCsType))]
        [System.Xml.Serialization.XmlElementAttribute("CartesianCS", Type = typeof(CartesianCsType))]
        [System.Xml.Serialization.XmlElementAttribute("EllipsoidalCS", Type = typeof(EllipsoidalCsType))]
        [System.Xml.Serialization.XmlElementAttribute("EngineeringDatum", Type = typeof(EngineeringDatumType))]
        [System.Xml.Serialization.XmlElementAttribute("ImageDatum", Type = typeof(ImageDatumType))]
        [System.Xml.Serialization.XmlElementAttribute("VerticalDatum", Type = typeof(VerticalDatumType))]
        [System.Xml.Serialization.XmlElementAttribute("TemporalDatum", Type = typeof(TemporalDatumType))]
        [System.Xml.Serialization.XmlElementAttribute("GeodeticDatum", Type = typeof(GeodeticDatumType))]
        [System.Xml.Serialization.XmlElementAttribute("PrimeMeridian", Type = typeof(PrimeMeridianType))]
        [System.Xml.Serialization.XmlElementAttribute("Ellipsoid", Type = typeof(EllipsoidType))]
        [System.Xml.Serialization.XmlElementAttribute("Dictionary", Type = typeof(DictionaryType))]
        [System.Xml.Serialization.XmlElementAttribute("DefinitionCollection", Type = typeof(DefinitionCollectionType))]
        [System.Xml.Serialization.XmlElementAttribute("DefinitionProxy", Type = typeof(DefinitionProxyType))]
        [System.Xml.Serialization.XmlElementAttribute("VerticalCRS", Type = typeof(VerticalCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("GeocentricCRS", Type = typeof(GeocentricCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("ProjectedCRS", Type = typeof(ProjectedCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("DerivedCRS", Type = typeof(DerivedCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("EngineeringCRS", Type = typeof(EngineeringCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("ImageCRS", Type = typeof(ImageCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("TemporalCRS", Type = typeof(TemporalCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("CompoundCRS", Type = typeof(CompoundCrsType))]
        [System.Xml.Serialization.XmlElementAttribute("TimeCoordinateSystem", Type = typeof(TimeCoordinateSystemType))]
        [System.Xml.Serialization.XmlElementAttribute("TimeOrdinalReferenceSystem", Type = typeof(TimeOrdinalReferenceSystemType))]
        [System.Xml.Serialization.XmlElementAttribute("TimeCalendar", Type = typeof(TimeCalendarType))]
        [System.Xml.Serialization.XmlElementAttribute("TimeClock", Type = typeof(TimeClockType))]
        [System.Xml.Serialization.XmlElementAttribute("DerivedUnit", Type = typeof(DerivedUnitType), Namespace = "http://www.opengis.net/gml")]
        [System.Xml.Serialization.XmlElementAttribute("ConventionalUnit", Type = typeof(ConventionalUnitType), Namespace = "http://www.opengis.net/gml")]
        [System.Xml.Serialization.XmlElementAttribute("BaseUnit", Type = typeof(BaseUnitType), Namespace = "http://www.opengis.net/gml")]
        [System.Xml.Serialization.XmlElementAttribute("UnitDefinition", Type = typeof(UnitDefinitionType))]
        [System.Xml.Serialization.XmlElementAttribute("TimeCalendarEra", Type = typeof(TimeCalendarEraType))]
        [System.Xml.Serialization.XmlElementAttribute("Phenomenon", Type = typeof(PhenomenonType))]
        [System.Xml.Serialization.XmlElementAttribute("Definition", Type = typeof(DefinitionType))]
        public object Definition { get; set; }

        #region IAssociationAttributeGroup Members

        /// <summary>
        /// Gets or sets a reference to an XML Schema fragment that specifies the content model of the propertys value. This is in conformance with the XML Schema Section 4.14 Referencing Schemas from Elsewhere.
        /// </summary>
        [System.Xml.Serialization.XmlAttributeAttribute("remoteSchema", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink", DataType = "anyURI")]
        public string RemoteSchema { get; set; }

        #endregion

        #region ISimpleLink Members

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("type", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink")]
        public string Type { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("href", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink", DataType = "anyURI")]
        public string Href { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("role", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink", DataType = "anyURI")]
        public string Role { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("arcrole", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink", DataType = "anyURI")]
        public string ArcRole { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("title", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink")]
        public string Title { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("show", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink")]
        public MetadataTypeShow Show { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ShowSpecified { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("actuate", Form = System.Xml.Schema.XmlSchemaForm.Qualified, Namespace = "http://www.w3.org/1999/xlink")]
        public MetadataTypeActuate Actuate { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public bool ActuateSpecified { get; set; }

        #endregion
    }
}
